/**
 * 文件名：BaseServiceImpl.java
 *
 * 创建人：虞云波 - .com
 *
 * 创建时间：2017年10月13日 上午11:37:11
 *
 * 版权所有：江苏晟邦网络科技有限公司
 */
package com.cbwl.eoas.common.base;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;

import com.cbwl.eoas.common.framework.vo.PageRequest;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;

/**
 * <p>[描述信息：service接口基类的实现类]</p>
 *
 * @author 虞云波 - yuyunbo@3856.cc
 * @version 1.0 Created on 2017年10月13日 上午11:37:11
 */
public class BaseServiceImpl<T> implements IBaseService<T> {

	
	@Autowired
	private IBaseDao<T> baseDao;
	
	/**
	 * 
	 * <p>分页查询实体信息</p>
	 * 
	 * @see com.cbwl.app.common.base.IBaseService#queryPageList(java.lang.Object)
	 * @author: 虞云波 - yuyunbo@3856.cc 
	 * @date: Created on 2017年10月13日 上午11:40:19
	 */
	@Override
	public PageInfo<T>  queryPageList(T bean,PageRequest pageRequest) {
		
		PageHelper.startPage(pageRequest.getPage(), pageRequest.getRows());
		List<T> list = queryObjectList(bean);
		PageInfo<T> pageInfo = new PageInfo(list);
		return pageInfo;
	}

	
	/**
	 * 
	 * <p>保存实体信息</p>
	 * 
	 * @see com.cbwl.app.common.base.IBaseService#saveObject(java.lang.Object)
	 * @author: 虞云波 - yuyunbo@3856.cc 
	 * @date: Created on 2017年10月13日 上午11:40:48
	 */
	@Override
	public Long saveObject(T bean)  throws Exception{
		return baseDao.saveObject(bean);
	}

	/**
	 * 
	 * <p>删除实体信息</p>
	 * 
	 * @see com.cbwl.app.common.base.IBaseService#deleteObject(java.lang.Object)
	 * @author: 虞云波 - yuyunbo@3856.cc 
	 * @date: Created on 2017年10月13日 上午11:41:01
	 */
	@Override
	public int deleteObject(T bean)  throws Exception{
		return baseDao.deleteObject(bean);
	}

	/**
	 * 
	 * <p>修改实体信息</p>
	 * 
	 * @see com.cbwl.app.common.base.IBaseService#updateObject(java.lang.Object)
	 * @author: 虞云波 - yuyunbo@3856.cc 
	 * @date: Created on 2017年10月13日 上午11:41:21
	 */
	@Override
	public int updateObject(T bean)  throws Exception{
		return baseDao.updateObject(bean);
	}

	/**
	 * 
	 * <p>查询List</p>
	 * 
	 * @see com.cbwl.app.common.base.IBaseService#queryObjectList(java.lang.Object)
	 * @author: 虞云波 - yuyunbo@3856.cc 
	 * @date: Created on 2017年10月13日 上午11:41:44
	 */
	@Override
	public List<T> queryObjectList(T bean) {
		return baseDao.queryObjectList(bean);
	}

	/**
	 * 
	 * <p>根据id获取实体信息</p>
	 * 
	 * @see com.cbwl.app.common.base.IBaseService#getObjectById(java.lang.Object)
	 * @author: 虞云波 - yuyunbo@3856.cc 
	 * @date: Created on 2017年10月13日 上午11:42:01
	 */
	@Override
	public T getObjectById(T bean) {
		return baseDao.getObjectById(bean);
	}

	
	
	
}
